.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.nh
.ad l

.TH "py-ini-config" "1" "2024-05-31"
.P
.SH "НАИМЕНОВАНИЕ"
.P
py-ini-config - утилита для редактирования ini-файлов.\&
.P
.SH "СИНТАКСИС"
.P
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.IP \(bu 4
.\}
py-ini-config set [-c, --create] file [section, -n, --no-section] var value [-s separator] [-S values_separator] [--no-indent] [--view-comments] [--semicolon-comment]
.RE
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.IP \(bu 4
.\}
py-ini-config add [-c, --create] file [section, -n, --no-section] var value [-s separator] [-S values_separator] [--no-indent] [--view-comments] [--semicolon-comment]
.RE
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.IP \(bu 4
.\}
py-ini-config comment file [section, -n, --no-section] [var] [-s separator] [--semicolon-comment]
.RE
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.IP \(bu 4
.\}
py-ini-config uncomment file [section, -n, --no-section] [var] [-s separator] [--semicolon-comment]
.RE
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.IP \(bu 4
.\}
py-ini-config get file [section, -n, --no-section] [var] [-s separator] [-S values_separator] [-a, --all file1 -a file2...] [-i]  [-e extension] [--sort-collected] [--shadowing] [-v, --verbose]
.RE
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.IP \(bu 4
.\}
py-ini-config is_set file [section, -n, --no-section] var [value] [-s separator] [-S values_separator] [-a, --all file1 -a file2...]  [-e extension]  [--sort-collected] [--shadowing]
.RE
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.IP \(bu 4
.\}
py-ini-config get_commented file [section, -n, --no-section] var [-s separator] [--semicolon-comment]
.RE
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.IP \(bu 4
.\}
py-ini-config del file [section, -n, --no-section] var [value] [-s separator] [-f, --flush] [--semicolon-comment]
.RE
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.IP \(bu 4
.\}
py-ini-config del_section file section [-s separator]
.RE
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.IP \(bu 4
.\}
py-ini-config is_empty file section [-s separator]
.RE
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.IP \(bu 4
.\}
py-ini-config rename file [section, -n, --no-section] var new_name [-s separator]

.RE
.P
.SH ОПИСАНИЕ
.P
.SS -s \fBseparator\fR
Если указано, рассматривает файл конфига с указанным разделителем \fBseparator\fR вместо '=' по умолчанию.\&
.P
.SS -n, --no-section
Если указано вместо \fBsection\fR, рассматривает файлы конфига без секций.\&
.P
.SS -c, --create
Если указано, создаёт новый файл конфига. Если файл уже существует, продолжает работать с ним. Используется с set или add.\&
.P
.SS -a, --all
Используется вместо отдельного файла с функциями \fBget\fR and \fBis_set\fR. Имя, которое пишется после этого ключа, одновременно является именем файла и началом имени папки, которое оканчивается на \'.d\'. Поиск указанной переменной \fBvar\fR будет вестись как в указанном файле, так и во всех файлах внутри папки.\&
.P
.SS -i
Используется с -a, --all. Если указано, переменная \fBvar\fR будет искаться сначала в папке, затем в самом файле.\&
.P
.SS -e
Используется с -a, --all. Если задано значение, в папке будут рассмотрены только файлы с указанным расширением.\&
.P
.SS --sort-collected
Используется с -a, --all. Если указано, все файлы из папок вместе будут отсортированы по имени в алфавитном порядке перед просмотром.\&
.P
.SS --shadowing
Используется с -a, --all. Если указано, из файлов с одинаковым именем последний, к которому было обращение, будет при рассмотрении заменять все остальные.\&
.P
.SS --flush
Если используется с del, полностью удаляет секцию, в которой не осталось переменных.\&
.P
.SS --no-indent
Если указано с set или add, при указании значения для существующей переменной удаляет отступ в начале строки.\&
.P
.SS -S
Если указано значение, оно используется для отделения значений переменных друг от друга вместо запятой.\&
.P
.SS --semicolon-comment
Если указано значение, точка с запятой используется как символ комментирования вместо \'#\'.\&
.P
.SS --view-comments
Используется с командами set и add. Если указано, значение может быть установлено или добавлено к закомментированной переменной, что также раскомментирует всю строку.\&
.P
.SS -v, --verbose
Используется с -a, --all. Если указано, выводит подробную информацию в stderr в процессе работы.\&
.P
.SS set
Изменяет значение переменной \fBvar\fR или добавляет переменную \fBvar\fR с указанным значением \fBvalue\fR в секцию \fBsection\fR.\& Если секция \fBsection\fR не существует, она будет создана.\&
.P
.SS add
Добавляет значение \fBvalue\fR к набору значений переменной \fBvar\fR или создаёт переменную \fBvar\fR (если такой не было) с указанным значением \fBvalue\fR в секции \fBsection\fR.\& Если секция \fBsection\fR не существует, она будет создана.\&
.P
.SS comment
Комментирует переменную \fBvar\fR в указанной секции \fBsection\fR или секцию \fBsection\fR целиком.\&
.P
.SS uncomment
Раскомментирует переменную \fBvar\fR в указанной секции \fBsection\fR или секцию \fBsection\fR целиком.\&
.P
.SS get
Выводит значение переменной \fBvar\fR в указанной секции \fBsection\fR из файла \fBfile\fR. Если переменная \fBvar\fR не указана, выводит секцию целиком.\&
.P
.SS is_set
Проверяет, существует ли переменная \fBvar\fR в указанной секции \fBsection\fR.\&
Возвращает 0, если переменная \fBvar\fR существует, иначе возвращает 1. Если указано значение, возвращает 0, если указанное значение
присутствует в наборе значений переменной \fBvar\fR, иначе возвращает 1.\&
.P
.SS get_commented
Выводит значение закомментированной переменной \fBvar\fR в указанной секции \fBsection\fR из файла \fBfile\fR.\&
.P
.SS del
Удаляет переменную \fBvar\fR из указанной секции \fBsection\fR файла конфига \fBfile\fR. Если указано значение \fBvalue\fR, удаляет
указанное значение \fBvalue\fR из набора значений переменной \fBvar\fR.\&
.P
.SS del_section
Удаляет секцию \fBsection\fR из файла конфига \fBfile\fR целиком.\&
.P
.SS is_empty
Проверяет, является ли указанная секция \fBsection\fR пустой.\&
Возвращает 0, если секция пустая, иначе возвращает 1.\&
.P
.SS rename
Переименовывает переменную \fBvar\fR в указанной секции \fBsection\fR в \fBnew_name\fR.\&
.P
.SS -V, --version
Показывает текущую версию py-ini-config.\&
.P
.SH ПРИМЕРЫ
.TP
py-ini-config set /etc/sddm.conf.d/50-default.conf Theme CursorSize 10
Устанавливает переменной \fBCursorSize\fR в секции \fBTheme\fR в файле /etc/sddm.conf.d/50-default.conf значение 10.
.TP
py-ini-config get /etc/e2scrub.conf -n scrub_all
Получает значение переменной \fBscrub_all\fR из файла \fB/etc/e2scrub.conf\fR.
.TP
py-ini-config is_set -a /etc/file.conf --all /etc/x11.conf Theme Current -e conf
Возвращает 0, если переменная \fBCurrent\fR в секции \fBTheme\fR в любом из файлов \fB/etc/file.conf\fR, \fB/etc/x11.conf\fR или в папках /etc/file.conf.d и /etc/x11.conf.d имеет значение (рассматриваются только файлы с расширением .conf). Иначе возвращает 1.
.TP
py-ini-config get Autologin User -a /usr/lib/sddm/sddm.conf -a /etc/sddm.conf -i
Команда возвращает значение переменной \fBUser\fR в секции \fBAutologin\fR для SDDM. Поскольку у SDDM основной конфигурационный файл имеет больший приоритет, чем файлы из подпапки (drop-in), в данном случае применяется опция \fB-i\fR.
.TP
py-ini-config get Journal SystemMaxUse -a /usr/lib/systemd/journald.conf -a /run/systemd/journald.conf -a /etc/systemd/journald.conf --sort-collected --shadowing -e conf
Рассмотрим случай для конфигурационных файлов \fBsystemd\fR. Эта команда получает последнее найденное значение переменной \fBSystemMaxUse\fR из секции \fBJournal\fR. Опция \fB--sort-collected\fR работает следующим образом:
.RS 11
1) сначала просматриваются файлы: \fB/usr/lib/systemd/journald.conf\fR, \fB/run/systemd/journald.conf\fR, \fB/etc/systemd/journald.conf\fR;
.RS 0
2) затем собираются все файлы в папках: \fB/usr/lib/systemd/journald.conf.d/*.conf\fR, \fB/run/systemd/journald.conf.d/*.conf\fR и \fB/etc/systemd/journald.conf.d/*.conf\fR, сортируются в алфавитном порядке, вне зависимости от того, в какой из подпапок они находятся, и считываются после сортировки.
.RS -4
Благодаря опции \fB-e conf\fR в подпапках просматриваются только файлы с расширением \fB.conf\fR. Опция \fB--shadowing\fR позволяет учитывать механизм, когда одноименные файлы из следующей подпапки замещают файлы из предыдущей подпапки. Иными словами, файл \fB/etc/systemd/journald.conf.d/50-test.conf\fR заменит собой \fB/usr/lib/systemd/journald.conf.d/50-test.conf\fR и \fB/run/systemd/journald.conf.d/50-test.conf\fR, а именно полностью исключит эти файлы из просматриваемых.
.SH АВТОРЫ
Команда MOS\&
.P

